package org.batatasframework.expression;

import org.batatasframework.values.DelegateValueGetter;
import org.batatasframework.values.NullValueGetter;
import org.batatasframework.values.StringValueGetter;
import org.batatasframework.values.ValueGetter;

/**
 * <pre>
 * 这里是表示式的值的部分
 * </pre>
 * @author jackson
 *
 */
public class ExpressionValue extends DelegateValueGetter{

	private final ValueGetter value;

	//TODO 在什么情况下会使用到这个？
	/** 扩展的内容 */
	private ValueGetter extraValue;
	
	public ExpressionValue(){
		this.extraValue = NullValueGetter.nullValue();
		this.value = NullValueGetter.nullValue();
	}
	
	public ExpressionValue(String extra, String value){
		this.extraValue = StringValueGetter.valueOf(extra);
		this.value = StringValueGetter.valueOf(value);
	}

	public ValueGetter getExtra(){
		return extraValue;
	}

	@Override
	public ValueGetter getValue() {
		return value;
	}

}
